Page({
  
  data: {
    passport: {}
  },
  onLoad({id, encryptedData}) {
        // 获取访客详情
    this.getDetail(id)
    this.getPassportShare(encryptedData)
  },
  // 获取访客详情（通行证）
  async getDetail(id) {
    // 检测是否存在 id
    if (!id) return
    // 调用接口
    const { code, data: passport } = await wx.http.get('/visitor/' + id)
    // 检测接口是否调用成功
    if (code !== 10000) return wx.utils.toast()
      console.log(passport);
      
    // 渲染数据
    this.setData({ passport })
  },
  // 是否开启储存权限检测
  authSetting() {
    wx.getSetting({
      // authSet 用户授权结果
      success:({authSetting}) => {
        console.log(authSetting);
        // 检测当前是否开启了授权
        if(authSetting['scope.writePhotosAlbum'] === false) {
          console.log('拒绝了授权');
          // 如果拒绝授权，委婉的挽回一下
          wx.showModal({
            content: '请允许保存到相册',
            showCancel: false,
            // 如果经过而此请求后，统一开启授权
            success:()=> {
              // 调动到设置里面去
              wx.openSetting({
                success: ({authSetting}) => {
                  // console.log(authSetting);}
                  // 如果用户授权了，就调用一下，否则就不再进行打扰
                  if(authSetting['scope.writePhotesAlbum']) {
                    this.saveImage()
                  }
                } 
              })
            }
          })
        }else {
          // 已经授权过了，那么直接保存就好
          this.saveImage()
        }
      }
    })
  },
  // 保存图片
  async saveImage() {
    // 1.获取图片信息（下载图片到本地
    const {path} = await wx.getImageInfo({
      src: "https://enjoy-plus.oss-cn-beijing.aliyuncs.com/uploads/qrcode.png"
    })
    // console.log(res);
    // 2.调用API保存图片
    await wx.saveImageToPhotosAlbum({
      filePath: path,
    })
    wx.utils.toast('图片保存成功')
  },
  // 自定义分享
  onShareAppMessage() {
    // 获取加密数据
    const { encryptedData } = this.data.passport
    return {
      title: '查看通行证',
      path: '/visitor_pkg/pages/passport/index?encryptedData=' + encryptedData,
      imageUrl: 'https://enjoy-plus.oss-cn-beijing.aliyuncs.com/images/share_poster.png',
    }
  },
  // 分享邀请码
  async getPassportShare(encryptedData) {
    // 检测是否存在 id
    if (!encryptedData) return
    // 调用接口
    const { code, data: passport } = await wx.http.get('/visitor/share/' + encryptedData)
    // 检测接口是否调用成功
    if (code !== 10000) return wx.utils.toast()
    // 渲染数据
    this.setData({ passport })
  },
})
